
#ifndef CHAINLIST_H
#define CHAINLIST_H

#include"common.h"

typedef struct {
    node_t *header;
    int count;
}ChainList_t;

//初始化链表
void initChainList(ChainList_t *table);
//释放链表中的所有节点
void destroyChainList(ChainList_t *table);

//头插
int insertChainListHead(ChainList_t *table, Element_t value);
//任意位置插入
int insertChainListPos(ChainList_t *table, int pos, Element_t value);

//删除指定元素值
int deleteChainListValue(ChainList_t *table, Element_t value);

//打印链表
void showChainList(const ChainList_t *table);
#endif
